<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Article as DbArt;
use app\admin\model\Project ;
use app\admin\model\Column;
use think\Request;
use think\Session;

/*文章发布*/
class Article extends Controller{

    public function index(){

        $user=Session::get('user_id');

        if (!empty($user)){
           
            //判断是否有session

             return $this->fetch();
        }else{
        
            $this->redirect('admin/login/index');
        }
    }




    //文章提交
    public function ArticleSubmit(){
        $title=input('title');//标题
        $Article=input('html');//文章html格式内容
        $ArticleText=input('text');//文章文本格式内容
        $columnId=input('columnId');//文章所属栏目id
        $thumbnailUrl=input('thumbnailUrl');

        $dbcolumn=new Column();
        $type=$dbcolumn->type($columnId);//查询栏目类型

        if ($type==1){
            $array=[
              'code'=>-2,
              'message'=>'封面栏目无法发布文章'
            ];
        }else{
            date_default_timezone_set('PRC');//设置时区
            $time=input('time')==null ? date("Y-m-d H:i:s") :input('time');

            $Db=new DbArt();
            $id=$Db->addArticle($title,$Article,$thumbnailUrl,$time,$columnId,$ArticleText);


            if ($id>0){
                $array=[
                    "code"=>1,  //文章存储数据库成功，状态码返回1
                ];
            }else{
                $array=[
                    "code"=>-1,
                    "message"=>"文章发布失败，请稍后重试"
                ];
            }

        }


        return json_encode($array);

    }



    //缩略图上传
    public function thumbnailUpload(){
        $Dbhome=new Project();
        $HomePath=$Dbhome->selectHomePath();//查询根目录路径

        $img=request()->file('file');



        $oldName=$img->getInfo()['name'];
        $temp = explode(".",$oldName);//将旧缩率图名称分割，
        $newname = 'SLT'.time().".".$temp[count($temp)-1];


        $year=date("Y");//获取年份
        $month=date("n");//获取月份
        $day=date("j");//获取天数

        $file=$HomePath."uploadImg/".$year.$month.$day."/";//拼接成文件夹

        if (!is_dir($HomePath."uploadImg")){
            mkdir($HomePath."uploadImg");
        }

        if (is_dir($file)){
            //如果目录存在那么就将图片移动至文件夹下
            $img->move($file,$newname);
        }else{
            mkdir($file);//创建路径
             $img->move($file,$newname);
        }


        /*
         $thumbnailUrl用于保存至数据库，
        后续前段输出，所以直接保存根目录路径即可，
        无需加$HomePath
         */
        $thumbnailUrl = "/uploadImg/".$year.$month.$day."/".$newname;

        $fh=[
            "code"=>0,
            "msg"=>"",
            "data"=>[
                "src"=>$thumbnailUrl
            ]
        ];

        print_r(json_encode($fh));



    }




    //图片上传
    public function imgUpload(){
        $Dbhome=new Project();
        $HomePath=$Dbhome->selectHomePath();//查询根目录路径

        $imgInfo = $_FILES['myFileName'];

        // 图片名称
        $oldname = $imgInfo['name'];

        // 临时文件
        $tmp_name = $imgInfo['tmp_name'];

        // 错误信息
        $error = $imgInfo['error'];

        // 分割字符串，得到数组。
        $temp = explode(".",$oldname);

        // 用时间戳 + 文件后缀 重命名文件。
        $newname = time().".".$temp[count($temp)-1];

        $year=date("Y");//获取年份
        $month=date("n");//获取月份
        $day=date("j");//获取天数

        if (!is_dir($HomePath."uploadImg")){
            mkdir($HomePath."uploadImg");
        }


        $file=$HomePath."/uploadImg/".$year.$month.$day."/";//拼接成文件夹

        if (is_dir($file)){
            //如果目录存在那么就将图片移动至文件夹下
            move_uploaded_file($tmp_name,$file.$newname);
        }else{
            mkdir($file);//创建路径
            move_uploaded_file($tmp_name,$file.$newname);
        }

        /*
         $dir用于图片上传后在文章输入框中显示，
         HTML中显示直接用根目录路径即可，
         无需加$HomePath
        */
        $dir = "/uploadImg/".$year.$month.$day."/".$newname;

        $fh=[
            'errno'=>0,
            "data"=>[
                'url'=>$dir
            ]
        ];
        $fh=json_encode($fh);
        print_r($fh);
    }


    //视频上传
    public function videoUpload(){
        //post_max_size
        //upload_max_filesize

        $Dbhome=new Project();
        $HomePath=$Dbhome->selectHomePath();//查询根目录路径

        $video_file=$_FILES['your-custom-name'];

        // 视频名称
        $oldname =  $video_file['name'];

        // 临时文件
        $tmp_name =  $video_file['tmp_name'];

        // 错误信息
        $error =  $video_file['error'];

        // 分割字符串，得到数组。
        $temp = explode(".",$oldname);

        // 用时间戳 + 文件后缀 重命名文件。
        $newname = time().".".$temp[count($temp)-1];

        $year=date("Y");//获取年份
        $month=date("n");//获取月份
        $day=date("j");//获取天数

        if (!is_dir($HomePath."uploadVideo")){
            mkdir($HomePath."uploadVideo");
        }


        $file=$HomePath."/uploadVideo/".$year.$month.$day."/";//拼接成文件夹

        if (is_dir($file)){
            //如果目录存在那么就将图片移动至文件夹下
            move_uploaded_file($tmp_name,$file.$newname);
        }else{
            mkdir($file);//创建路径
            move_uploaded_file($tmp_name,$file.$newname);
        }

        /*
         $dir用于图片上传后在文章输入框中显示，
         HTML中显示直接用根目录路径即可，
         无需加$HomePath
        */
        $dir = "/uploadVideo/".$year.$month.$day."/".$newname;

        $fh=[
            'errno'=>0,
            "data"=>[
                'url'=>$dir
            ]
        ];
        $fh=json_encode($fh);
        print_r($fh);



    }






}
